Ch 9.htm

назад | содержание | вперед

Открытие файлов

Как было указано выше, работа с каждым из типов файлов имеет свои особенности. Однако есть два действия, общие для всех типов файлов — их открытие и закрытие.

Понятно, что перед тем как записать данные в файл или прочитать данные из файла, необходимо сначала открыть этот файл. Открытие файла выполняется оператором open:

Open pathName For mode [access] [lock] As [#]fileNumber [Len=recLength]

где:

- pathName — полное имя файла;
- mode — режим доступа к файлу. Может принимать следующие значения: Append, Binary, Input, Output или Random;
- access — тип доступа к файлу. Определяет характер действий с файлом — чтение или запись данных. Может принимать значения: Read (Чтение), Write (Запись) или Read/Write (Чтение/Запись);
- lock — тип разрешения доступа к файлу другим процессам. Определяет возможность одновременной работы с файлом нескольких приложений или нескольких пользователей. Может принимать значения: Shared (Общий), Lock Read (Блокировка чтения), Lock Write (Блокировка записи) или Lock Read Write (Блокировка чтения и записи);
- fileNumber — целочисленное выражение, задающее идентификатор файла (дескриптор). Может иметь значение от 1 до 511 включительно;
- recLength — число, определяющее размер буфера данных для записи/чтения в файлах прямого доступа. Для файлов произвольного доступа это число задает длину одной записи файла. Может иметь значение до 32,767 (байтов).

При работе оператора Open создается специальный счетчик номеров (идентификаторов) открытых файлов (в операторе это параметр fileNumber) для однозначного определения файла, с которым программа работает в текущий момент.

Если указанный в операторе open файл не найден по заданному пути или не существует, он будет создан этим оператором для режимов доступа Append, Binary, output или Random. Для режима доступа input новый файл не создается.

Важной особенностью режимов доступа является возможность многократного открытия файла для режимов Binary, input и Random, то есть файл можно открыть несколько раз с разными номерами. Но для режимов доступа Output и Append, используемых для записи данных, это недопустимо.

Если номер открываемого файла специально не контролируется и не задается программой, его можно узнать с помощью функции FreeFile, возвращающей последний свободный номер открываемого файла.

> Замечание

> При использовании оператора Open необходимо, чтобы режим доступа соответствовал типу открываемого файла.

назад | содержание | вперед